package Map.Map03;

import java.util.HashMap;
import java.util.Hashtable;

/*
 *       java.util.Hashtable<K,V>集合 implements Map<K,V>接口
 *
 *       Hashtable：底层也是哈希表，是一个线程安全的集合，是单线程集合，速度慢
 *       HashMap：底层是一个哈希表，是一个线程不安全的集合，是多线程的集合，速度快
 *
 *       HashMap集合：可以存储null值，null键
 *       Hashtable集合：不能存储null值，null键
 *
 *       Hashtable和Vector集合一样，在jdk1.2之后别更先进的集合（HashMap，ArrayList）取代了
 *       Hashtable的子类Properties依然在使用
 *       且Properties集合是唯一和IO流相结合的集合
 *
 * */
public class HashTable01 {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put(null, "a");
        map.put("b", null);
        map.put(null, null);
        //{null=null, b=null}  HashMap集合：可以存储null值，null键,且nul与null重复
        System.out.println(map);

        Hashtable<String, String> table = new Hashtable<>();
        //java.lang.NullPointerException  Hashtable集合：不能存储null值，null键
        //table.put(null, "a");
        //table.put("b", null);
        //table.put(null, null);
        System.out.println(table);
    }
}
